#ifndef SCREEN_H_
#define SCREEN_H_

#include "Singleton.h"
#include "NonCopyable.h"

struct SDL_Surface;

class Screen : public NonCopyable
{
private:
	Screen();
	friend class Singleton<Screen>;

public:
    ~Screen();
	bool			Init(int height, int width, bool isOpenGl);
	void			Flip();
	void			CleanUp();
    void            FullScreen();
    void            UpdateScreenSize(int height, int width);
    int             GetHeight();
    int             GetWidth();
	SDL_Surface*	GetMain();

private:
    bool            m_isOpenGl;
    SDL_Surface*	m_surfDisplay;
    int             m_height;
    int             m_width;
    int             m_maxHeight;
    int             m_maxWidth;
};

typedef Singleton<Screen> TheScreen;

#endif